package com.bfly.mall.advert.service;

import com.bfly.common.page.Pager;
import com.bfly.core.base.service.IBaseService;
import com.bfly.mall.advert.dto.CouponGetRecordUserListDTO;
import com.bfly.mall.advert.entity.CouponGetRecord;
import com.bfly.mall.advert.dto.CouponGetRecordListDTO;
import com.bfly.mall.advert.enums.CouponUseStatus;

import java.util.List;

/**
 * @author 长沙商脉科技有限公司
 * @date 2020/9/20 13:05
 */
public interface ICouponGetRecordService extends IBaseService<CouponGetRecord, Integer> {

    /**
     * 领取优惠卷
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/11/13 12:03
     */
    void receiveCoupon(int userId, int couponId);

    /**
     * 修改用户优惠卷状态
     *
     * @author 长沙商脉科技有限公司
     * @date 2020/11/13 15:46
     */
    void editStatus(int couponUserId, CouponUseStatus status);

    /**
     * 获得用户的优惠卷
     * @author 长沙商脉科技有限公司
     * @date 2020/11/16 20:09
     */
    List<CouponGetRecordListDTO> getUserCoupon(int userId, CouponUseStatus status);

    /**
     * 查询优惠卷的领卷记录
     * @author 长沙商脉科技有限公司
     * @date 2020/12/24 15:09
     */
    Pager<CouponGetRecordUserListDTO> getCouponGetRecordForUser(int couponId);
}
